#ifndef ASSEMBLER_H_INCLUDED
#define ASSEMBLER_H_INCLUDED

#include "vertex_processor.h"

#define	SQS_NONE -1 //nenhum selecionado;
#define	SQS_POINTS 0 //cada v�rtice representa um ponto isolado;
#define	SQS_LINES  1 //cada par de v�rtices  forma um segmento de reta. O par deve ser descartado, ou seja, pares consecutivos n�o podem ser conectados.
#define	SQS_TRIANGLE 2 //cada tripla de v�rtices forma um tri�ngulo. A tripla deve ser descartada, ou seja, tri�ngulos consecutivos n�o t�m conex�o.
#define	SQS_LINE_STRIP 3 //a seq��ncia de v�rtices representa uma mesma curva. Com cada novo v�rtice, o montador deve formar um segmento de reta com os dois �ltimos v�rtices.
#define	SQS_TRIANGLE_STRIP 4 //a seq��ncia de v�rtices representa uma faixa de tri�ngulos, Com cada novo v�rtice, o montador deve um triangulo com os dois �ltimos v�rtices.
#define	SQS_TRIANGLE_FAN 5 //a seq��ncia de v�rtices representa um leque de tri�ngulos. Com cada novo v�rtice, o montador deve formar um tri�ngulo com o v�rtice anterior e com o primeiro v�rtice fornecido ap�s a chamada de sgpAssemblyMode.

void sqsAssemblyMode(int _mode);
void sqsPrimitiveAssembler(struct INTERNAL_VERTEX v);
int mode;

#endif // ASSEMBLER_H_INCLUDED
